﻿package com.google.code.p.ivans.patternsentities;

import java.sql.SQLException;
import java.util.List;

import com.google.code.p.ivans.entities.Order;
import com.google.code.p.ivans.entities.Storage;
import com.google.code.p.ivans.entities.Waiter;
import com.google.code.p.ivans.myexceptions.EntityNotFoundException;
import com.google.code.p.ivans.myexceptions.NoLinksException;

public class ShowOrdersByWaiterHandler extends Handler {

	@Override
	public void handle() {
		System.out.println(">>Введите ID официанта");								
		long id = Main.scanner.nextInt();
		List<Order> orders;
	
		try {
			Waiter waiter = Storage.getInstance().searchWaiterByID(id);
			orders = Main.waiterSI.getWaitersOrders(id);
			if(Main.logger.isInfoEnabled()) {
				Main.logger.info("[INFO]Заказы официанта с ID=" + id + ":\n" + Main.showOrders(orders));
			}							
		}
		catch(NoLinksException e) {
			//println("Связей Официант<->Заказ нет");
			
			Main.logger.error("[ERROR]У данного официанта нет заказов");
		}
		catch(EntityNotFoundException enf) {
			//println("Официант с данным id отсутствует в коллекции");
			
			Main.logger.error("[ERROR]Официант с данным id отсутствует в коллекции");
		}
		catch(SQLException ioe) {
			//println("Ошибка записи данных официанта в бд. Причина - " + ioe.getMessage());

			Main.logger.error("[ERROR]Ошибка записи данных официанта в файл. Причина - " + ioe.getMessage());
		}	
	}

}
